//璁剧疆cookie
function setCookie(name,value)
{
    var Days = 30;
    var exp = new Date();
    exp.setTime(exp.getTime() + Days*24*60*60*1000*30);
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}

//璇诲彇cookie
function getCookie(name)
{
    var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
    if(arr=document.cookie.match(reg))
        return unescape(arr[2]);
    else
        return null;
}


//鍒嗛〉
function paginate(totalData,currentPage) {
    var currentPage =  currentPage || 1;
    if(totalData == 0) {
        layer.msg('没有数据');
        return false;
    }
    $('.M-box').pagination({
        totalData: totalData,
        showData:15,
        current:currentPage,
        callback: function (api) {
            getData(api.getCurrent());
        }
    });
}

function closeLayerMsg(){
    $('.layui-layer-dialog').remove();
}

/**
 * 从字符串时间中获取小时
 * @param string
 * @returns {number}
 */
function getHoursFromStringDate( string ) {
    let d = string.split(':');
    return Number(d[0]);
}
/**
 * 从字符串时间中获取分钟
 * @param string
 * @returns {number}
 */
function getMinuteFromStringDate( string ) {
    let d = string.split(':');
    return Number(d[1]);
}
/**
 * 增加时间
 * @param string
 * @returns {number}
 */
function increaMinuteFromStringDate ( stringDate , increa)
{
    let h = getHoursFromStringDate(stringDate);
    let m =getMinuteFromStringDate(stringDate);
    // let m1 =getMinuteFromStringDate(increa);
    let m1 = Number(increa)
    let minute = m + m1;
    let newHour = h;
    let newMinute=0;
    if( minute >= 60 ) {
        newMinute = minute % 60;
        newHour = newHour +1;
    }else {
        newMinute = minute;
    }
    if(newMinute <10 ){
        return `${newHour}:0${newMinute}`;
    }
    return `${newHour}:${newMinute}`;
}
/**
 * 判断时间是否在一个氛围内
 * @param timeRange 时间范围
 *  @param time 时间
 * @returns {boole}
 */
function isBetweenStringTime ( timeRange , time  ) {
    let arr = timeRange.split('--');
    let left = Number(arr[0].replace(':',''));
    let right = Number(arr[1].replace(':',''));
    let t = Number(time.replace(':',''));
    if ( t>=left && t<= right )
    {
        return true;
    }
    return false;
}
/**
 * 时间格式转成数字
 *  @param time 时间
 * @returns {boole}
 */
function formateTimeToNumber ( time  ) {
   return Number(time.replace(':',''));

}
/**
 * 判断在一个时间段早到还是晚点
 * @param timeRange 时间范围
 *  @param time 时间
 * @returns {boole}
 */
function beforeOrAfteronTime ( timeRange , time  ) {
    let arr = timeRange.split('--');
    let left = Number(arr[0].replace(':',''));
    let right = Number(arr[1].replace(':',''));
    let t = Number(time.replace(':',''));
    if ( t<left )
    {
        return 'before';
    }
    if( t > right )
    {
        return 'after';
    }
    return null;
}
function SortByProps(item1, item2, obj) {
    var props = [];
    if(obj){
        props.push(obj)
    }
    var cps = []; // 存储排序属性比较结果。
    // 如果未指定排序属性(即obj不存在)，则按照全属性升序排序。
    // 记录下两个排序项按照各个排序属性进行比较得到的结果
    var asc = true;
    if (props.length < 1) {
        for (var p in item1) {
            if (item1[p] > item2[p]) {
                cps.push(1);
                break; // 大于时跳出循环。
            } else if (item1[p] === item2[p]) {
                cps.push(0);
            } else {
                cps.push(-1);
                break; // 小于时跳出循环。
            }
        }
    }
    else {
        for (var i = 0; i < props.length; i++) {
            var prop = props[i];
            for (var o in prop) {
                asc = prop[o] === "ascending";
                if (item1[o] > item2[o]) {
                    cps.push(asc ? 1 : -1);
                    break; // 大于时跳出循环。
                } else if (item1[o] === item2[o]) {
                    cps.push(0);
                } else {
                    cps.push(asc ? -1 : 1);
                    break; // 小于时跳出循环。
                }
            }
        }
    }

    // 根据各排序属性比较结果综合判断得出两个比较项的最终大小关系
    for (var j = 0; j < cps.length; j++) {
        if (cps[j] === 1 || cps[j] === -1) {
            return cps[j];
        }
    }
    return false;
}
/**
 * 判断时间是否超出一个小时
 * @param timeRange 时间范围
 *  @param time 时间
 * @returns {boole}
 */
function isOverOneHours ( timeRange , time  ) {
    let arr = timeRange.split('--');
    let right = Number(arr[1].replace(':',''));
    let t = Number(time.replace(':',''));

    if ( t<= right )
    {
        return true;
    }
    return false;
}
function showLoading () {
    if($('.loader,.mask').is(':hidden'))
    {
        $('.loader,.mask').show();
    }

}
function colseLoading () {

    $('.loader,.mask').hide();
}

//按照字段排序
function SortByProps(item1, item2, obj) {
    var props = [];
    if(obj){
        props.push(obj)
    }
    var cps = []; // 存储排序属性比较结果。
    // 如果未指定排序属性(即obj不存在)，则按照全属性升序排序。
    // 记录下两个排序项按照各个排序属性进行比较得到的结果
    var asc = true;
    if (props.length < 1) {
        for (var p in item1) {
            if (item1[p] > item2[p]) {
                cps.push(1);
                break; // 大于时跳出循环。
            } else if (item1[p] === item2[p]) {
                cps.push(0);
            } else {
                cps.push(-1);
                break; // 小于时跳出循环。
            }
        }
    }
    else {
        for (var i = 0; i < props.length; i++) {
            var prop = props[i];
            for (var o in prop) {
                asc = prop[o] === "ascending";
                if (item1[o] > item2[o]) {
                    cps.push(asc ? 1 : -1);
                    break; // 大于时跳出循环。
                } else if (item1[o] === item2[o]) {
                    cps.push(0);
                } else {
                    cps.push(asc ? -1 : 1);
                    break; // 小于时跳出循环。
                }
            }
        }
    }

    // 根据各排序属性比较结果综合判断得出两个比较项的最终大小关系
    for (var j = 0; j < cps.length; j++) {
        if (cps[j] === 1 || cps[j] === -1) {
            return cps[j];
        }
    }
    return false;
}

/**
 * 获取最近几天的日期
 * @param day
 * @returns {string}
 */
function getDay(day){
    var today = new Date();
    var targetday_milliseconds=today.getTime() + 1000*60*60*24*day;
    today.setTime(targetday_milliseconds); //注意，这行是关键代码
    var tYear = today.getFullYear();
    var tMonth = today.getMonth();
    var tDate = today.getDate();
    tMonth = doHandleMonth(tMonth + 1);
    tDate = doHandleMonth(tDate);
    return tYear+"-"+tMonth+"-"+tDate;
}

function doHandleMonth(month) {
    var m = month;
    if (month.toString ().length == 1) {
        m = "0" + month;
    }
    return m;
}

/**
 * 获取上几个月
 * @param step
 * @returns {Array}
 */
function getAgoMonth(step = 3 , callback = null)
{
    let arr=[];
    for( let i= step-1;i>=0;i--)
    {
        let d = new Date();
        d.setMonth(d.getMonth() - i +1);
        let month = d.getMonth();
        if( month <10 )
        {
            month=`0${month}`;
        }
        arr.push({text:d.getFullYear()+'-'+month,month:d.getMonth(),year:d.getFullYear()});
       // if( typeof callback ==='function')
      //  {
           // callback(getDay(d.getMonth()))
      //  }
    }
    return arr;
}

/**
 * 获取一个月有多少钱
 * @param month
 * @returns {number}
 */
function getDays(year,month)
{
    let arr=[];
    let days=[0,31,28,31,30,31,30,31,31,30,31,30,31];
    let items =  days[month];
    if(month<10)
    {
        month =`0${month}`
    }
    for( let i=1; i<=items;i++){
        if(i<10)
        {
            i =`0${i}`;
        }

        arr.push({text:year+'-'+month+"-"+i,day:i})
    }
    return arr;
}